<%-- 
    Document   : Procesar_Editar_Datos_Admin
    Created on : 28-nov-2013, 18:26:27
    Author     : julian
--%>

<%@page import="GestorBDatos.UsuarioJpaController.ComprobacionLogin"%>
<%@page import="GestorBDatos.UsuarioJpaController"%>
<%@page import="javax.persistence.Persistence"%>
<%@page import="javax.persistence.EntityManagerFactory"%>
<%@page import="GestorBDatos.Usuario"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>

<jsp:include page="Control_Sesion.jsp"/>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Seguridad informática</title>
    </head>
    <body>
        <%
            //String login = request.getParameter("usuario");
            String nombre = request.getParameter("nombre");
            String apellidos = request.getParameter("apellidos");
            String correo = request.getParameter("correo");
            String pass_anterior = request.getParameter("pass_anterior");
            String pass = request.getParameter("pass");
            String pass_comprobacion = request.getParameter("pass_comprobacion");

            EntityManagerFactory emf = Persistence.createEntityManagerFactory("Seguridad_InformaticaPU");
            UsuarioJpaController bd = new UsuarioJpaController(emf);

            HttpSession sesion = request.getSession();
            Usuario u = (Usuario) sesion.getAttribute("objUsuario");

            if (nombre.equals("") && apellidos.equals("") && correo.equals("") && pass_anterior.equals("")) {
                response.sendRedirect("Pantalla_Editar_Datos_Admin.jsp?error=4");
            }

            if (!nombre.equals("") && nombre.length() < 20) {
                u.setNombre(nombre);
                bd.edit(u);
            }
            if (!apellidos.equals("") && apellidos.length() < 20) {
                u.setApellidos(apellidos);
                bd.edit(u);
            }
            if (!correo.equals("") && correo.contains("@") && correo.length() < 30 ) {
                u.setCorreo(correo);
                bd.edit(u);
            } else if (!correo.equals("") && !correo.contains("@") && correo.length() < 30 ) {
                response.sendRedirect("Pantalla_Editar_Datos_Admin.jsp?error=3");
            }

            if (!pass_anterior.equals("") && pass_anterior.length() < 20) {

                if (pass.equals(pass_comprobacion) && !pass.equals("") && !pass_comprobacion.equals("")) {
                    String puntuacion = request.getParameter("puntuacion");
                    int puntuacionPass = Integer.parseInt(puntuacion);
                    if (puntuacionPass > 45 && (pass.length() > 6 || pass.length() < 20)) {
                        ComprobacionLogin resultado = bd.comprobarLogin(u.getLogin(), pass_anterior);
                        if (!resultado.equals(ComprobacionLogin.INCORRECTO)) {
                            u.setPass(pass);
                            bd.edit(u);
                            response.sendRedirect("Pantalla_Datos_Admin.jsp");
                        } else {
                            response.sendRedirect("Pantalla_Editar_Datos_Admin.jsp?error=2");
                        }
                    } else {
                        response.sendRedirect("Pantalla_Editar_Datos_Admin.jsp?error=5");
                    }

                } else {
                    response.sendRedirect("Pantalla_Editar_Datos_Admin.jsp?error=1");
                }

            } else if (!nombre.equals("") || !apellidos.equals("") || (!correo.equals("") && correo.contains("@"))) {
                response.sendRedirect("Pantalla_Datos_Admin.jsp");
            }

        %>
    </body>
</html>
